package com.leyou.httpdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
public class HttpDemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(HttpDemoApplication.class, args);
	}



//		- JDK原生的URLConnection（默认的）
//	@Bean
//	public RestTemplate restTemplate() {
//		默认的RestTemplate，底层是走JDK的URLConnection方式
//		如果需要改变，可以在构造器中传入对应的工厂对象
//		return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
//	}

	//		- OkHttp
//	@Bean
//	public RestTemplate restTemplate() {
//		默认的RestTemplate，底层是走JDK的URLConnection方式
//		如果需要改变，可以在构造器中传入对应的工厂对象
//		return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
//	}

	//		- HttpClient
	@Bean
	public RestTemplate restTemplate() {
//		默认的RestTemplate，底层是走JDK的URLConnection方式
//		如果需要改变，可以在构造器中传入对应的工厂对象
		return new RestTemplate(new HttpComponentsClientHttpRequestFactory());
	}
}
